1 REM  GREGORY GROSZEK  WHITESBORO NY.  13492
100 Z=11
110 HISCORE=00000
120 CALL CLEAR
130 DISPLAY AT(2,5):"ALIEN DESTROYER"
140 DISPLAY AT(12,4):"PRESS A FOR AID OR"
150 DISPLAY AT(13,5):"ANY KEY TO BEGIN"
160 CALL KEY(0,K,S)
170 IF S=0 THEN 160
180 IF K=65 THEN GOSUB 940
190 CALL SCREEN(2)
200 CALL COLOR(9,16,1)
210 IF SCORE>HISCORE THEN HISCORE=SCORE
220 SCORE=00000
230 CALL CHAR(101,"1")
240 CALL CLEAR :: CALL MAGNIFY(2)
250 FOR O=1 TO 25
260 CALL SPRITE(#O,101,15,INT(170*RND)+1,INT(250*RND)+1,0,-120)
270 NEXT O
280 DISPLAY AT(2,2):"SCORE ";SCORE
290 DISPLAY AT(1,2):"HI SCORE";HISCORE
300 FOR W=1 TO 8 :: CALL COLOR(W,16,1) :: NEXT W
310 CALL CHAR(130,"FFFFFF")
320 CALL CHAR(131,"1818183C7E7EFFFF")
330 CALL CHAR(132,"00000000183C7EFF")
340 CALL COLOR(13,7,1)
350 CALL CHAR(99,"0000001818000000")
360 CALL CHAR(100,"008199FF99810000")
370 CALL CHAR(110,"81420099004281")
380 CALL SPRITE(#3,132,7,170,10,0,-120)
390 CALL SPRITE(#4,132,7,170,60,0,-120)
400 CALL SPRITE(#5,131,7,170,110,0,-120)
410 CALL SPRITE(#6,98,7,170,160,0,-120)
420 CALL SPRITE(#7,132,7,170,210,0,-120)
430 CALL HCHAR(24,1,130,32)
440 CALL MOTION(#1,0,0)
450 CALL SPRITE(#1,96,5,50,50)
460 X=INT(RND*150)+1
470 RANDOMIZE
480 CALL SPRITE(#10,100,13,X,250,0,-20)
490 CALL MOTION(#1,0,0)
500 CALL CHAR(96,"80C0E0FCFF78")
510 CALL CHAR(97,"00000000001800")
520 B1=INT(RND*2)+1
530 RANDOMIZE
540 ON B1 GOTO 550,1010
550 REM  DELFIRE
560 CALL SOUND(100,-7,2,110,0)
570 CALL POSITION(#11,AA,BB,#12,CC,DD,#13,EE,FF)
580 IF AA>170 OR AA<6 OR BB<6 THEN CALL DELSPRITE(#11)
590 IF CC>170 OR CC<6 OR DD<6 THEN CALL DELSPRITE(#12)
600 IF EE>170 OR EE<6 OR FF<6 THEN CALL DELSPRITE(#13)
610 CALL COINC(#11,#1,20,H) :: IF H=-1 THEN 830 ELSE CALL COINC(#12,#1,20,H) :: IF H=-1 THEN 830 ELSE CALL COINC(#13,#1,20,H)
620 IF H=-1 THEN 830
630 CALL COINC(#10,#1,15,H) :: IF H=-1 THEN 820
640 CALL KEY(0,K,S)
650 IF K=69 THEN 680
660 IF K=88 THEN 690
670 IF K=13 THEN 700 ELSE CALL MOTION(#1,0,0) :: GOTO 520
680 CALL MOTION(#1,-5,0) :: CALL SOUND(50,-1,2,110,0) :: GOTO 520
690 CALL MOTION(#1,+5,0) :: CALL SOUND(50,-1,2,110,0) :: GOTO 520
700 CALL POSITION(#1,A,B)
710 CALL LOCATE(#1,A,B)
720 CALL SPRITE(#2,97,16,A,B,0,50) :: CALL SOUND(200,-3,0,1111,0)
730 FOR I=1 TO 13
740 CALL COINC(#2,#10,9,HIT) :: IF HIT=-1 THEN 780
750 NEXT I
760 CALL DELSPRITE(#2)
770 GOTO 550
780 CALL MOTION(#10,0,0) :: CALL DELSPRITE(#2)
790 SCORE=SCORE+21
800 DISPLAY AT(2,2):"SCORE ";SCORE
810 GOTO 1070
820 CALL POSITION(#10,S,D) :: CALL LOCATE(#10,S,D) :: CALL SPRITE(#10,110,7,S,D,10,0) :: CALL MOTION(#1,10,0)
830 CALL POSITION(#1,A,B) :: CALL LOCATE(#1,A,B) :: CALL SPRITE(#1,110,7,A,B)
840 CALL DELSPRITE(#11,#12,#13,#14,#15)
850 CALL SOUND(1111,-7,0)
860 CALL SOUND(1,9999,0)
870 CALL DELSPRITE(#10)
880 DISPLAY AT(12,1):"THE ALIENS DESTROYED YOUR    SHIP"
890 DISPLAY AT(14,2):"PRESS REDO(R) OR QUIT(Q)"
900 CALL MOTION(#1,0,0)
910 CALL KEY(0,K,S)
920 IF K=82 THEN 190
930 IF K=81 THEN END ELSE 910
940 CALL CLEAR :: DISPLAY AT(2,2):"E=UP                                                    X=DOWN"
950 DISPLAY AT(6,2):"USE THE ENTER KEY TO FIRE":" LASER"
960 DISPLAY AT(10,2):"SHIP SUPPLY=1"
970 DISPLAY AT(12,2):"PRESS ANY KEY TO BEGIN:"
980 CALL KEY(0,K,S)
990 IF S=0 THEN 980
1000 RETURN
1010 CALL POSITION(#10,L,M,#1,H1,J)
1020 CALL LOCATE(#10,L,M,#1,H1,J) :: Z=Z+1 :: IF Z=14 THEN Z=11
1030 IF H1=X THEN CALL SPRITE(#Z,97,15,L,M,0,-25)ELSE 1040
1040 IF H1>X THEN CALL SPRITE(#Z,97,15,L,M,5,-10)ELSE 1050
1050 IF H1<X THEN CALL SPRITE(#Z,97,15,L,M,-5,-20)
1060 CALL SOUND(100,-2,0) :: GOTO 550
1070 CALL POSITION(#10,PO,POI)
1080 CALL LOCATE(#10,PO,POI)
1090 CALL SPRITE(#10,110,7,PO,POI,0,0)
1100 CALL DELSPRITE(#2,#11,#12,#13,#14,#15)
1110 CALL SOUND(500,-5,0)
1120 CALL SOUND(1,9999,0)
1130 CALL DELSPRITE(#10)
1140 GOTO 460
